package com.faceye.core.service;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

import com.faceye.core.util.result.PageResult;

/**
 * 基础服务接口
 * @author songhaipeng
 *
 * @param <D> DTO
 * @param <ID>
 * @param <M> Manager
 */
public interface BaseService<DTO,ID,M> {

	/**
	 * 保存
	 * @param dto
	 * @return
	 */
	public DTO save(DTO dto);
	
	/**
	 * 查询明细
	 * @param id
	 * @return
	 */
	public DTO get(ID id);
	/**
	 * 根据 ID删除
	 * @param id
	 */
	public Boolean remove(ID... id);
	
	
	
	/**
	 * 获取全部
	 * @return
	 */
	public List<DTO> getAll();
	
	/**
	 * 分页
	 * @param searchParams
	 * @param page [1,2,3]
	 * @param size [20 -> default]
	 * @return
	 */
	public PageResult<DTO> getPage(Map<String,Object> searchParams,int page,int size);
}
